import '../../common/index.dart';

/// 采购页面控制器
/// 管理采购商品列表、搜索、分类筛选、购物车等功能
///
///

class PurchasePageListC extends BaseGetXListController {
  // --------- 公开属性  --------- //

  // --------- 私有属性  --------- //

  // --------- 生命周期  --------- //

  // --------- 数据处理  --------- //

  // --------- 触发事件  --------- //
}

// class PurchaseController extends BaseGetXController {
//   /// 刷新控制器
//   final RefreshController refreshController = RefreshController();

//   /// 搜索控制器
//   final TextEditingController searchController = TextEditingController();

//   /// 是否加载中
//   final RxBool isLoading = false.obs;

//   /// 采购商品列表
//   final RxList<PurchaseItemModel> purchaseItems = <PurchaseItemModel>[].obs;

//   /// 分类列表
//   final RxList<String> categories = <String>[
//     '全部',
//     '中药材',
//     '西药',
//     '医疗器械',
//     '耗材',
//     '保健品',
//   ].obs;

//   /// 当前选中分类
//   final RxString selectedCategory = '全部'.obs;

//   /// 搜索关键词
//   final RxString searchKeyword = ''.obs;

//   /// 购物车商品数量
//   final RxInt cartItemCount = 0.obs;

//   /// 当前页码
//   int currentPage = 1;

//   /// 每页数量
//   final int pageSize = 20;

//   /// 是否还有更多数据
//   bool hasMore = true;

//   @override
//   void onInit() {
//     super.onInit();
//     _initData();
//     _setupSearchListener();
//   }

//   @override
//   void onClose() {
//     refreshController.dispose();
//     searchController.dispose();
//     super.onClose();
//   }

//   /// 初始化数据
//   void _initData() {
//     loadPurchaseItems();
//     loadCartItemCount();
//   }

//   /// 设置搜索监听
//   void _setupSearchListener() {
//     searchController.addListener(() {
//       searchKeyword.value = searchController.text;
//     });
//   }

//   /// 加载采购商品列表
//   Future<void> loadPurchaseItems({bool isRefresh = false}) async {
//     try {
//       if (isRefresh) {
//         currentPage = 1;
//         hasMore = true;
//         isLoading.value = true;
//       }

//       final response = await MedicalMockApis.getPurchaseItemList(
//         page: currentPage,
//         category: selectedCategory.value == '全部' ? null : selectedCategory.value,
//         keyword: searchKeyword.value.isEmpty ? null : searchKeyword.value,
//       );

//       if (response['code'] == 200 && response['data'] != null) {
//         final List<dynamic> itemsData = response['data']['items'] ?? [];
//         final List<PurchaseItemModel> items = itemsData
//             .map((item) => PurchaseItemModel.fromJson(item))
//             .toList();

//         if (isRefresh) {
//           purchaseItems.clear();
//         }
//         purchaseItems.addAll(items);

//         // 检查是否还有更多数据
//         hasMore = items.length >= pageSize;
//         if (hasMore) {
//           currentPage++;
//         }
//       } else {
//         // 如果请求失败，使用模拟数据
//         _loadMockData(isRefresh);
//       }
//     } catch (e) {
//       debugLog('加载采购商品失败: $e');
//       // 使用模拟数据
//       _loadMockData(isRefresh);
//     } finally {
//       isLoading.value = false;
//       if (isRefresh) {
//         refreshController.refreshCompleted();
//       } else {
//         refreshController.loadComplete();
//       }
//     }
//   }

//   /// 加载模拟数据
//   void _loadMockData(bool isRefresh) {
//     final mockItems = [
//       PurchaseItemModel(
//         itemId: '1',
//         name: '板蓝根颗粒',
//         specification: '10g*12袋',
//         price: 15.80,
//         stock: 100,
//         category: '中药材',
//         supplier: '同仁堂',
//         image: globalConfig.testImageUrl,
//         description: '清热解毒，凉血利咽',
//       ),
//       PurchaseItemModel(
//         itemId: '2',
//         name: '阿莫西林胶囊',
//         specification: '0.25g*24粒',
//         price: 8.50,
//         stock: 200,
//         category: '西药',
//         supplier: '华润医药',
//         image: globalConfig.testImageUrl,
//         description: '用于敏感菌所致的各种感染',
//       ),
//       PurchaseItemModel(
//         itemId: '3',
//         name: '一次性注射器',
//         specification: '5ml',
//         price: 0.80,
//         stock: 1000,
//         category: '医疗器械',
//         supplier: '康德莱',
//         image: globalConfig.testImageUrl,
//         description: '无菌一次性使用注射器',
//       ),
//       PurchaseItemModel(
//         itemId: '4',
//         name: '医用口罩',
//         specification: '50只/盒',
//         price: 25.00,
//         stock: 50,
//         category: '耗材',
//         supplier: '3M',
//         image: globalConfig.testImageUrl,
//         description: '三层防护医用口罩',
//       ),
//       PurchaseItemModel(
//         itemId: '5',
//         name: '维生素C片',
//         specification: '100mg*100片',
//         price: 12.00,
//         stock: 80,
//         category: '保健品',
//         supplier: '汤臣倍健',
//         image: globalConfig.testImageUrl,
//         description: '增强免疫力，抗氧化',
//       ),
//     ];

//     // 根据分类和搜索关键词过滤
//     List<PurchaseItemModel> filteredItems = mockItems;

//     if (selectedCategory.value != '全部') {
//       filteredItems = filteredItems
//           .where((item) => item.category == selectedCategory.value)
//           .toList();
//     }

//     if (searchKeyword.value.isNotEmpty) {
//       filteredItems = filteredItems
//           .where((item) =>
//               item.name?.contains(searchKeyword.value) == true ||
//               item.supplier?.contains(searchKeyword.value) == true)
//           .toList();
//     }

//     if (isRefresh) {
//       purchaseItems.clear();
//     }
//     purchaseItems.addAll(filteredItems);
//     hasMore = false;
//   }

//   /// 加载购物车商品数量
//   Future<void> loadCartItemCount() async {
//     try {
//       // 这里可以从本地存储或服务器获取购物车数量
//       // 暂时使用模拟数据
//       cartItemCount.value = 3;
//     } catch (e) {
//       debugLog('加载购物车数量失败: $e');
//     }
//   }

//   /// 下拉刷新
//   Future<void> onRefresh() async {
//     await loadPurchaseItems(isRefresh: true);
//   }

//   /// 上拉加载更多
//   Future<void> onLoadMore() async {
//     if (hasMore) {
//       await loadPurchaseItems();
//     } else {
//       refreshController.loadNoData();
//     }
//   }

//   /// 搜索
//   void onSearch(String keyword) {
//     searchKeyword.value = keyword;
//     onRefresh();
//   }

//   /// 清除搜索
//   void clearSearch() {
//     searchController.clear();
//     searchKeyword.value = '';
//     onRefresh();
//   }

//   /// 分类改变
//   void onCategoryChanged(String category) {
//     selectedCategory.value = category;
//     onRefresh();
//   }

//   /// 商品点击
//   void onItemTap(PurchaseItemModel item) {
//     Get.toNamed(
//       RouterIdConfig.purchaseDetail,
//       arguments: {'item': item},
//     );
//   }

//   /// 添加到购物车
//   Future<void> onAddToCartTap(PurchaseItemModel item) async {
//     try {
//       // 这里可以调用添加到购物车的API
//       // 暂时使用模拟逻辑
//       cartItemCount.value++;

//       Fluttertoast.showToast(
//         msg: '已添加到购物车',
//         toastLength: Toast.LENGTH_SHORT,
//         gravity: ToastGravity.CENTER,
//       );
//     } catch (e) {
//       debugLog('添加到购物车失败: $e');
//       Fluttertoast.showToast(
//         msg: '添加失败，请重试',
//         toastLength: Toast.LENGTH_SHORT,
//         gravity: ToastGravity.CENTER,
//       );
//     }
//   }

//   /// 立即购买
//   void onBuyNowTap(PurchaseItemModel item) {
//     // TODO: 实现购买订单页面路由
//     // Get.toNamed(
//     //   RouterIdConfig.purchaseOrder,
//     //   arguments: {
//     //     'items': [item],
//     //     'type': 'buy_now',
//     //   },
//     // );
//     debugLog('立即购买: ${item.name}');
//   }

//   /// 购物车点击
//   void onCartTap() {
//     // TODO: 实现购物车页面路由
//     // Get.toNamed(RouterIdConfig.purchaseCart);
//     debugLog('打开购物车');
//   }

//   /// 订单列表点击
//   void onOrderListTap() {
//     // TODO: 实现订单列表页面路由
//     // Get.toNamed(RouterIdConfig.purchaseOrderList);
//     debugLog('打开订单列表');
//   }

//   /// 获取商品详情
//   Future<PurchaseItemModel?> getItemDetail(String itemId) async {
//     try {
//       final response = await MedicalMockApis.getPurchaseItemDetail(itemId: itemId);

//       if (response['code'] == 200 && response['data'] != null) {
//         return PurchaseItemModel.fromJson(response['data']);
//       }

//       // 如果API调用失败，返回模拟数据
//       final mockItem = purchaseItems.firstWhere(
//         (item) => item.itemId == itemId,
//         orElse: () => PurchaseItemModel(
//           itemId: itemId,
//           name: '未知商品',
//           price: 0.0,
//           stock: 0,
//           category: '未知',
//           supplier: '未知',
//           image: '',
//           description: '商品详情暂无',
//         ),
//       );
//       return mockItem;
//     } catch (e) {
//       debugLog('获取商品详情失败: $e');
//     }
//     return null;
//   }

//   /// 更新购物车数量
//   void updateCartItemCount(int count) {
//     cartItemCount.value = count;
//   }

//   /// 检查商品库存
//   bool checkStock(PurchaseItemModel item, int quantity) {
//     return item.stock != null && item.stock! >= quantity;
//   }

//   /// 格式化商品规格
//   String formatSpecification(PurchaseItemModel item) {
//     if (item.specification?.isNotEmpty == true) {
//       return '规格: ${item.specification}';
//     }
//     return '规格: 暂无';
//   }

//   /// 格式化供应商
//   String formatSupplier(PurchaseItemModel item) {
//     if (item.supplier?.isNotEmpty == true) {
//       return '供应商: ${item.supplier}';
//     }
//     return '供应商: 暂无';
//   }

//   /// 格式化库存状态
//   String formatStockStatus(PurchaseItemModel item) {
//     if (item.stock == null || item.stock! <= 0) {
//       return '缺货';
//     } else if (item.stock! <= 10) {
//       return '库存紧张';
//     } else {
//       return '有库存';
//     }
//   }

//   /// 获取库存状态颜色
//   Color getStockStatusColor(PurchaseItemModel item) {
//     if (item.stock == null || item.stock! <= 0) {
//       return Colors.red;
//     } else if (item.stock! <= 10) {
//       return Colors.orange;
//     } else {
//       return Colors.green;
//     }
//   }

//   /// 刷新单个商品
//   Future<void> refreshItem(String itemId) async {
//     try {
//       final updatedItem = await getItemDetail(itemId);
//       if (updatedItem != null) {
//         final index = purchaseItems.indexWhere((item) => item.itemId == itemId);
//         if (index != -1) {
//           purchaseItems[index] = updatedItem;
//         }
//       }
//     } catch (e) {
//       debugLog('刷新商品失败: $e');
//     }
//   }

//   /// 批量添加到购物车
//   Future<void> addMultipleToCart(List<PurchaseItemModel> items) async {
//     try {
//       // 这里可以调用批量添加到购物车的API
//       cartItemCount.value += items.length;

//       Fluttertoast.showToast(
//         msg: '已添加 ${items.length} 件商品到购物车',
//         toastLength: Toast.LENGTH_SHORT,
//         gravity: ToastGravity.CENTER,
//       );
//     } catch (e) {
//       debugLog('批量添加到购物车失败: $e');
//       Fluttertoast.showToast(
//         msg: '添加失败，请重试',
//         toastLength: Toast.LENGTH_SHORT,
//         gravity: ToastGravity.CENTER,
//       );
//     }
//   }
// }
